Bask

Shanghai Based Android Engineer currently develop Payment systems at Ctrip

👨‍🔧‍

Flutter 介绍

By Bask on null

This post is over a year old. Some of the content may be out of date.

2018年6月21日Google发布Flutter首个release预览版,我个人认为Flutter将可以代替绝大多数Native开发,Flutter还可进行web端开发,说不定以后还可以整合整个前端框架,RN也有可能将不复存在。

image

Flutter的官方开发语言为Dart,这个语言也是Google出品的一个语言,至今为止,Dart最火的项目就是Flutter,犹如是Flutter量身订造的一般。不过看Dart的官网介绍,Dart的目标是致力于客户端开发。

那么,为什么要学习Flutter呢?Flutter最NB之处在于,同一套代码可以在Android端与iOS端同时运行,并且Flutter的编译器支持热加载(hot reload),就是说改完代码,不用重新编译,直接command + s save一下代码编译器或者编辑器继承的Flutter插件会直接自动差异化编译热加载到开发机或者模拟器上。这种开发效率绝对高过现在市面上所有的“开源的”热加载插件。我也是亲身体验了一下Demo,果然很快,编译并加载的时间只有800多毫秒,也有可能是改动很少的缘故才效率很高。

其实市面上已经有很多可以将Android、iOS一套代码两端同时运行的框架了,那么这个框架与其他的区别又是什么呢? 现阶段,主要有两大分支RN与Hybrid,他们应该都是基于jsbridge与Native交互的,并且都要依赖于原生的WebView,如果要想做到一套代码Android、iOS同样的效果的话,需要做大量的重构(我们公司基础部门的同事在RN宣讲时这么说的)其实我说的这些都是废话,来看看Flutter是如何解释的吧

  • Compiles to Native Code
  • No reliance on OEM widgets
  • No bridge needed
  • Structural Repainting

关于Flutter的更多好处,请看Flutter宣讲PPT

其实我觉得除了他所提到的这些点,我觉得还在环境配置方面也有一些不同,RN的话还需要适配RN的版本,但是Flutter的话,提供的感觉更像一个编译插件,希望以后版本不要像RN一样变得那么麻烦。

image

随着iOS和Android同一套代码可以两端同时运行这样强大的功能出世,并且与RN或者小程序框架完全不同的架构与体验,我相信他之后会将整个前端(Android、iOS、H5)统一,便利开发者的学习于开发效率。这是我个人的展望啦。

喜欢的小伙伴可以关注我的公众号AllAboutCoding AllAboutCoding